$(function() {
    // 点击“去注册账号”的链接
    $("#link_reg").on("click", function() {
        $(".login-box").hide();
        $(".reg-box").show();
    });
    // 点击“去登录”的链接
    $("#link_login").on("click", function() {
        $(".login-box").show();
        $(".reg-box").hide();
    });
    // 从 layui 中获取 form 对象
    let form = layui.form;
    let layer = layui.layer;
    // 通过 form.verify() 函数自定义校验规则
    form.verify({
        // 定义用户名校验
        uname: function(value, item) { //value：表单的值、item：表单的DOM对象
            if (!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)) {
                return '用户名不能有特殊字符';
            }
            if (/(^\_)|(\__)|(\_+$)/.test(value)) {
                return '用户名首尾不能出现下划线\'_\'';
            }
            if (/^\d+\d+\d$/.test(value)) {
                return '用户名不能全为数字';
            }
        },
        // 定义密码校验
        pwd: [
            /^[\S]{6,12}$/, '密码必须6到12位，且不能出现空格'
        ],
        // 判断两次密码是否一致
        repwd: function(value) {
            // 获取第一次输入的密码
            let pwd = $("#pwd").val()
                // 两次输入进行比较
            if (pwd !== value) {
                return "两次输入不一致，请确认后重新输入"
            }
        }
    });
    // 获取表单提交事件
    $("#form_reg").on("submit", function(e) {
        // 阻止表单默认提交行为
        e.preventDefault();
        let uname = $("#uname").val(),
            pwd = $("#pwd").val();
        // 提交用户输入
        $.ajax({
            type: "post",
            url: "/api/reguser",
            data: {
                username: uname,
                password: pwd,
            },
            success: function(res) {
                // 告诉用户是否注册成功
                if (res.status !== 0) {
                    return layer.msg(res.message)
                } else {
                    layer.msg("注册成功")
                        // 模拟点击事件,
                    $("#link_login").click()
                }

            }
        });
    })
    $("#form_login").on("submit", function(e) {
        e.preventDefault();
        $.ajax({
            type: "post",
            url: "/api/login",
            data: $(this).serialize(),
            success: function(res) {
                // console.log(res.token);
                if (res.status !== 0) {
                    return layer.msg(res.message)
                }
                layer.msg(res.message)
                localStorage.setItem("token", res.token)
                location.href = "index.html"
            }
        });
    })
})